Add Sphinx/Doxygen/Breathe documentation framework for phlex and phlex::experimental API#323
Add Sphinx/Doxygen/Breathe documentation framework for phlex and phlex::experimental API#323
Conversation
|
@copilot I think for maximum clarity, it would be better to reset this branch to upstream/main and then re-do the work following the current philosophy, functions/class structure, etc. |
Done. In commit The PR now shows only 13 files changed (135 additions, 0 deletions from main): the |
0712ae9 to
2095c80
Compare
There was a problem hiding this comment.
Pull request overview
Adds a Sphinx + Doxygen + Breathe documentation scaffold under docs/ to generate API reference documentation for key phlex::experimental types, along with dependency requirements and gitignore entries for generated outputs.
Changes:
- Add Sphinx project entrypoint (
index.rst) and minimalconf.pywired to Breathe. - Add API reference
.rstpages for severalphlex::experimentalclasses. - Add Doxygen configuration + Python requirements, and ignore generated docs artifacts in
.gitignore.
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| docs/source/index.rst | Adds top-level Sphinx landing page and toctree for API pages. |
| docs/source/conf.py | Adds Sphinx configuration with Breathe integration. |
| docs/source/api/graph_proxy.rst | Adds API page for phlex::experimental::graph_proxy. |
| docs/source/api/framework_graph.rst | Adds API page for framework_graph and layer_sentry. |
| docs/source/api/registrar.rst | Adds API page for phlex::experimental::registrar. |
| docs/source/api/declared_transform.rst | Adds API page for declared_transform. |
| docs/source/api/declared_fold.rst | Adds API page for declared_fold. |
| docs/source/api/declared_unfold.rst | Adds API page for declared_unfold. |
| docs/source/api/product_store.rst | Adds API page for product_store. |
| docs/source/api/products.rst | Adds API page for products. |
| docs/requirements.txt | Adds Python dependencies for building docs. |
| docs/Doxyfile | Adds Doxygen configuration to emit XML for Breathe. |
| .gitignore | Ignores generated Doxygen/Sphinx build output directories. |
Comments suppressed due to low confidence (1)
docs/requirements.txt:4
- The PR description says dependencies are “pinned”, but
requirements.txtuses version ranges (e.g.,>=9.1,<10) which will allow new releases and can change doc build output over time. Either pin exact versions (e.g.,==...) to match the description, or update the description to reflect that these are minimum/compatible ranges. Also remove the trailing blank line at EOF to avoid generating a 4th empty requirement line.
sphinx>=9.1,<10
breathe>=4.36,<5
sphinx-rtd-theme>=3.1,<4
|
@phlexbot python-fix |
|
Automatic ruff fixes pushed (commit af87c94). |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #323 +/- ##
==========================================
+ Coverage 84.94% 85.03% +0.08%
==========================================
Files 127 127
Lines 3341 3341
Branches 574 574
==========================================
+ Hits 2838 2841 +3
Misses 306 306
+ Partials 197 194 -3
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
824f679 to
a7a5bf2
Compare
dcbc52d to
e416cbc
Compare
e416cbc to
85a095f
Compare
85a095f to
a62c7df
Compare
Re-evaluated after rebase. The only needed fix was removing the |
3b11ebf to
a04ec85
Compare
|
@copilot https://gh.io/copilot-coding-agent-docs #323 (branch |
Done in Doxyfile paths fixed:
|
4dc2b20 to
267fc43
Compare
|
Review the full CodeQL report for details. |
8934e85 to
7ab18e8
Compare
|
@copilot PR #323 (branch copilot/update-branch-with-main-again) has been rebased against main once more: please re-evaluate and bring up to date with respect to the goals of your original prompt for this task. Please ensure the documentation added by this PR remains accurate and up-to-date with respect to changes to |
Re-evaluated after rebase. The only commit to main since the last rebase was workflow/action maintenance (#434) — no new public API classes were added. All 13 documented classes verified present ( Also fixed the outstanding review issue: removed the nonexistent |
…work This commit introduces the foundational infrastructure for documenting the C++ codebase using a Sphinx, Doxygen, and Breathe toolchain. Key changes include: - A new `docs/` directory to house all documentation-related files. - Configuration files for Sphinx (`conf.py`) and Doxygen (`Doxyfile`). - A `requirements.txt` file listing the necessary Python dependencies for building the documentation. - The `phlex/core/graph_proxy.hpp` header has been fully documented with Doxygen comments to serve as a style guide and working example. - An initial Sphinx structure in `docs/source/` that integrates the Doxygen XML output via Breathe, making the `graph_proxy` documentation available on the documentation website. Initial plan Update docs: pin latest deps, fix version, expand API coverage, add .gitignore entries Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Reset branch to main and re-apply docs-only changes Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Fix docs for current codebase: correct version, class names, macros, and .gitignore Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Add module docstring to docs/source/conf.py for ruff D100 compliance Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Apply ruff fixes Ignore `mypy` errors
Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com>
…ing entry points) Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com>
…docs (configuration, handle, concurrency) Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com>
Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Agent-Logs-Url: https://github.com/Framework-R-D/phlex/sessions/c907fe9c-6f80-4160-ac32-440e2909ef30
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
b4afc05 to
5bf370b
Compare
Adds a Sphinx + Doxygen + Breathe documentation scaffold under
docs/to generate API reference documentation forphlexandphlex::experimentaltypes, along with dependency requirements and gitignore entries for generated outputs.Documentation framework
docs/Doxyfile: Doxygen configuration for XML output consumed by Breathe; paths are repo-root-relative — invoke asdoxygen docs/Doxyfilefrom the repository rootdocs/source/conf.py: Sphinx configuration with Breathe integration, version0.1.0matchingCMakeLists.txt;breathe_projectspath (../doxygen/xml/) resolves correctly todocs/doxygen/xml/fromdocs/source/docs/source/index.rst: documentation index organized into three toctree sections: Plugin entry points, Algorithm nodes, Data modelDependency pinning
docs/requirements.txt:sphinx>=9.1,<10,breathe>=4.36,<5,sphinx-rtd-theme>=3.1,<4API pages —
phlexnamespacephlex::configuration— parameter access class used by every algorithmphlex::handle<T>— data product access wrapper passed to algorithm functionsphlex::concurrency— concurrency control struct used in algorithm registrationAPI pages —
phlex::experimentalnamespacemodule_graph_proxy,source_graph_proxy,graph_proxy,framework_graph,registrardeclared_transform,declared_fold,declared_unfoldproduct_store,productsDoxyfile configuration
INPUT = phlex form,OUTPUT_DIRECTORY = docs/doxygen(repo-root-relative)FILE_PATTERNS = *.hpp *.cpp,EXCLUDE_PATTERNS = */detail/*PREDEFINEDmacros for current codebase (BOOST_DLL_ALIAS,PHLEX_DETAIL_REGISTER_PLUGIN)Housekeeping
.gitignore: addeddocs/doxygen/anddocs/build/for generated outputconf.py: module docstring added for ruff D100 compliance💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.